package com.ruoyi.system.domain.bo;

import com.ruoyi.common.core.validate.AddGroup;
import com.ruoyi.common.core.validate.EditGroup;
import lombok.Data;
import lombok.EqualsAndHashCode;

import javax.validation.constraints.*;

import java.util.Date;

import java.util.Date;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 机械设备业务对象 emg_device
 *
 * @author ruoyi
 * @date 2023-11-10
 */

@Data
@EqualsAndHashCode(callSuper = true)
public class EmgDeviceBo extends BaseEntity {

    /**
     *
     */
    @NotNull(message = "不能为空", groups = {EditGroup.class})
    private Long id;

    /**
     * 所属单位
     */
    private Long deptId;

    /**
     * 仓库ID
     */
    @NotNull(message = "仓库ID不能为空", groups = {AddGroup.class, EditGroup.class})
    private Long warehouseId;

    /**
     * 设备类型字典如:挖土机,起重机等
     */
    @NotBlank(message = "设备类型 不能为空", groups = {AddGroup.class, EditGroup.class})
    private String deviceTypeId;

    /**
     * 设备名称
     */
    @NotBlank(message = "设备名称 不能为空", groups = {AddGroup.class, EditGroup.class})
    private String name;

    /**
     * 操作手ID
     */
    @NotNull(message = "操作手ID 不能为空", groups = {AddGroup.class, EditGroup.class})
    private Long userId;

    /**
     * 数量
     */
    @NotBlank(message = "数量不能为空", groups = {AddGroup.class, EditGroup.class})
    private String quantity;

    /**
     * 车牌号
     */
    @NotBlank(message = "车牌号不能为空", groups = {AddGroup.class, EditGroup.class})
    private String carNo;

    /**
     * 设备型号
     */
    @NotBlank(message = "设备型号不能为空", groups = {AddGroup.class, EditGroup.class})
    private String model;

    /**
     * 购买时间
     */
//    @NotNull(message = "购买时间不能为空", groups = {AddGroup.class, EditGroup.class})
    private Date buyTime;

    /**
     * 功率
     */
//    @NotBlank(message = "功率不能为空", groups = {AddGroup.class, EditGroup.class})
    private String power;

    /**
     * 剩余续航时间: 10小时
     */
//    @NotBlank(message = "剩余续航时间: 10小时不能为空", groups = {AddGroup.class, EditGroup.class})
    private String endurance;

    /**
     * 救援能力等级
     */
    @NotBlank(message = "救援能力等级 不能为空", groups = {AddGroup.class, EditGroup.class})
    private String rescueLevelId;

    /**
     * 坐标
     */
//    @NotBlank(message = "坐标不能为空", groups = {AddGroup.class, EditGroup.class})
    private String lat;

    /**
     * 坐标
     */
//    @NotBlank(message = "坐标不能为空", groups = {AddGroup.class, EditGroup.class})
    private String lng;

    /**
     * 地址
     */
//    @NotBlank(message = "地址不能为空", groups = {AddGroup.class, EditGroup.class})
    private String address;

    /**
     * 描述
     */
//    @NotBlank(message = "描述不能为空", groups = {AddGroup.class, EditGroup.class})
    private String remark;

    /**
     * 负责人1
     */
    @NotBlank(message = "负责人1不能为空", groups = {AddGroup.class, EditGroup.class})
    private String leader1;

    /**
     * 负责人1电话
     */
    @NotBlank(message = "负责人1电话不能为空", groups = {AddGroup.class, EditGroup.class})
    private String phone1;

    /**
     * 负责人2
     */
//    @NotBlank(message = "负责人2不能为空", groups = {AddGroup.class, EditGroup.class})
    private String leader2;

    /**
     * 负责人2电话
     */
//    @NotBlank(message = "负责人2电话不能为空", groups = {AddGroup.class, EditGroup.class})
    private String phone2;

    /**
     * 安全检测结果
     */
//    @NotBlank(message = "安全检测结果不能为空", groups = {AddGroup.class, EditGroup.class})
    private String securityTest;

    /**
     * 检测结果图片
     */
//    @NotBlank(message = "检测结果图片不能为空", groups = {AddGroup.class, EditGroup.class})
    private String securityTestImage;

    /**
     * 提醒检测时间
     */
//    @NotNull(message = "提醒检测时间不能为空", groups = {AddGroup.class, EditGroup.class})
    private Date remindTime;

    /**
     * 检测合格标准
     */
//    @NotBlank(message = "检测合格标准不能为空", groups = {AddGroup.class, EditGroup.class})
    private String passFlag;

    /**
     * 状态
     */
//    @NotBlank(message = "状态不能为空", groups = {AddGroup.class, EditGroup.class})
    private String status;


}
